package com.wang.web3.bean;

/**
 * Created by SAR on 2018/6/5.
 */

public class WalletBean {

    /**
     * address : 1c68274afed89361e21d766d9af33f2066ddcf2f
     * id : 40c66518-8882-49c7-80ec-2d8baf2e8757
     * version : 3
     * crypto : {"cipher":"aes-128-ctr","cipherparams":{"iv":"c603a1c34d81d19ae94a0d2c9a040b91"},"ciphertext":"3bea9580f051e9b612dd23a33c1ea9b87c96794d8c70bca12f3ae289dfa42511","kdf":"scrypt","kdfparams":{"dklen":32,"n":4096,"p":6,"r":8,"salt":"014947556b9d3f0fb597783f7b6672244b2e7ee5e8e37d11a91778a9c4153cde"},"mac":"ee432c5fa29414cc1430e3e838eca942c64706628e57d9c14350f9bb662afb92"}
     */

    private String address;
    private String id;
    private String uri;
    private int version;
    private CryptoBean crypto;

    public String getUri() {
        return uri;
    }

    public void setUri(String uri) {
        this.uri = uri;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public int getVersion() {
        return version;
    }

    public void setVersion(int version) {
        this.version = version;
    }

    public CryptoBean getCrypto() {
        return crypto;
    }

    public void setCrypto(CryptoBean crypto) {
        this.crypto = crypto;
    }

    public static class CryptoBean {
        /**
         * cipher : aes-128-ctr
         * cipherparams : {"iv":"c603a1c34d81d19ae94a0d2c9a040b91"}
         * ciphertext : 3bea9580f051e9b612dd23a33c1ea9b87c96794d8c70bca12f3ae289dfa42511
         * kdf : scrypt
         * kdfparams : {"dklen":32,"n":4096,"p":6,"r":8,"salt":"014947556b9d3f0fb597783f7b6672244b2e7ee5e8e37d11a91778a9c4153cde"}
         * mac : ee432c5fa29414cc1430e3e838eca942c64706628e57d9c14350f9bb662afb92
         */

        private String cipher;
        private CipherparamsBean cipherparams;
        private String ciphertext;
        private String kdf;
        private KdfparamsBean kdfparams;
        private String mac;

        public String getCipher() {
            return cipher;
        }

        public void setCipher(String cipher) {
            this.cipher = cipher;
        }

        public CipherparamsBean getCipherparams() {
            return cipherparams;
        }

        public void setCipherparams(CipherparamsBean cipherparams) {
            this.cipherparams = cipherparams;
        }

        public String getCiphertext() {
            return ciphertext;
        }

        public void setCiphertext(String ciphertext) {
            this.ciphertext = ciphertext;
        }

        public String getKdf() {
            return kdf;
        }

        public void setKdf(String kdf) {
            this.kdf = kdf;
        }

        public KdfparamsBean getKdfparams() {
            return kdfparams;
        }

        public void setKdfparams(KdfparamsBean kdfparams) {
            this.kdfparams = kdfparams;
        }

        public String getMac() {
            return mac;
        }

        public void setMac(String mac) {
            this.mac = mac;
        }

        public static class CipherparamsBean {
            /**
             * iv : c603a1c34d81d19ae94a0d2c9a040b91
             */

            private String iv;

            public String getIv() {
                return iv;
            }

            public void setIv(String iv) {
                this.iv = iv;
            }
        }

        public static class KdfparamsBean {
            /**
             * dklen : 32
             * n : 4096
             * p : 6
             * r : 8
             * salt : 014947556b9d3f0fb597783f7b6672244b2e7ee5e8e37d11a91778a9c4153cde
             */

            private int dklen;
            private int n;
            private int p;
            private int r;
            private String salt;

            public int getDklen() {
                return dklen;
            }

            public void setDklen(int dklen) {
                this.dklen = dklen;
            }

            public int getN() {
                return n;
            }

            public void setN(int n) {
                this.n = n;
            }

            public int getP() {
                return p;
            }

            public void setP(int p) {
                this.p = p;
            }

            public int getR() {
                return r;
            }

            public void setR(int r) {
                this.r = r;
            }

            public String getSalt() {
                return salt;
            }

            public void setSalt(String salt) {
                this.salt = salt;
            }
        }
    }
}
